package com.joolun.mall.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.joolun.common.annotation.Excel;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;

/**
 * 接龙淘宝旺店通信息实体类
 * 对应数据库表：chain_tb_wdt_rel
 */
@Data
public class ChainTbWdtRel extends Model<ChainTbWdtRel> {
    /**
     * 主键ID（自增）
     */
    private Long id;

    /**
     * 淘宝旺旺ID
     */
    @Excel(name = "*淘宝账号(旺旺id)")
    @NotBlank(message = "淘宝账号(旺旺id)不能为空")
    private String tbUserId;

    /**
     * 旺店通加密ID
     */
    @Excel(name = "*旺店通加密ID")
    @NotBlank(message = "旺店通加密ID不能为空")
    private String wdtEncodeUserId;

    /**
     * 旺店通加密ID
     */
    @NotBlank(message = "品牌不能为空或不存在")
    private Integer brandId;

    @Excel(name = "*品牌名称")
    private String brandName;

    /**
     * VIP等级
     */
    @Excel(name = "*VIP等级")
    private String vipTypeValue;

    /**
     * VIP等级类型
     */
//    @Excel(name = "VIP等级")
    private String vipType;

    /**
     * 微信昵称
     */
    @Excel(name = "微信昵称")
    private String wxNickName;


    /**
     * 手机号码（默认空字符串）
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 状态（0正常 1停用，默认0）
     */
    private String status;

    /**
     * 删除标志（0存在 2删除，默认0）
     */
    private String delFlag;

    /**
     * 创建者（默认空字符串）
     */
    private String createBy;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新者（默认空字符串）
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 备注信息
     */
    @Excel(name = "备注")
    private String remark;


    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<String> vipTypes;


    /**
     * 品牌列表 只接受参数
     */
    @TableField(exist = false)
    @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
    private List<Integer> brandIds;


}